#ifndef MULTIPLAYER_H
#define MULTIPLAYER_H

#include <QWidget>
#include <QTcpSocket>
#include <QPaintEvent>
#include "types.h"
#include "chessboard.h"

namespace Ui {
class MultiPlayer;
}

class MultiPlayer : public QWidget
{
    Q_OBJECT

public:
    explicit MultiPlayer(QWidget *parent = nullptr);
    ~MultiPlayer();

    void paintEvent(QPaintEvent *ev);   // 设置窗口背景事件

private:
    Ui::MultiPlayer *ui;
    QTcpSocket* m_tcp;
    int my_chess;            // 自身的棋子类型
    ChessBoard* chessBoard;  // 棋盘

public slots:
    void create_client(void);       // 槽函数 开始建立连接  在mainwindow中绑定信号
    void recv_msg(void);            // 槽函数 收到数据
    void set_chess(int arg[2]);     // 槽函数 己方落子
    void connected(void);           // 槽函数 连接成功
    void disconnected(void);        // 槽函数 服务器断开连接
    void btn_restart(void);         // 槽函数 重新开始按钮
    void btn_quit(void);            // 槽函数 退出游戏按钮
    void btn_back(void);            // 槽函数 退回主界面按钮
    void btn_send(void);            // 槽函数 发送信息按钮

signals:
    void back(void);
    void wait_back(void);           // 延迟返回
    void quit(void);
};

#endif // MULTIPLAYER_H
